/**
 * Copyright © 2013 南京思创信息技术有限公司.
 *
 * 版权所有.
 *
 * 类名　　    : StaticPara
 * 功能概要    : 保存共通参数的类.
 * 做成日期    : 2013/06/04  wangxw
 */

package com.sevenit.nj.yrmtfish.common;

import java.io.File;

import com.sevenit.nj.yrmtfish.entity.LocationData;

/**
 * @description: 保存共通参数的类.
 * @version 1.0
 * @author wangxw
 * 
 */
public class StaticPara {
	
	//////////////////////服务器////////////////////////////
	// 更新服务器的更新文件.
	public static String UpdServerFile = "4Sinfo.txt";
	// 心跳包频率（单位：秒）
	public static int HeartBeatSpeed = 30;
	
	// 内存文件中保存的配置参数.
	public static MemConfig MemConf;
	
	//////////////////////SD卡存储///////////////////////////
	//SD卡是否能使用.
	public static boolean bSdCanUse = false;
	//本程序文件在SD卡上的存储位置.
	public static String SdDir = "";
	public static String SdAppDir = "Carphone";
	public static String SdImgDir = "Img";
	public static String SdTmpDir = "Tmp";
	
	//////////////////////用户信息///////////////////////////	
	//位置信息
	public static LocationData location;
	//离线
	public final static int USER_STA_OFFLINE = 0;
	//在线
	public final static int USER_STA_ONLINE = 1;
	
	//////////////////////定义画面消息///////////////////////
	//消息定义时最好不要定义值为0，因为没有发送消息时，获取的到的默认值就是0
	//100以下为每个画面专用，保留.
	//正在加载
	public final static int MSG_PAGE_LOADING = 101;
    //显示数据
	public final static int MSG_PAGE_SHOW_DATA = 102;
    //正在刷新
	public final static int MSG_PAGE_REFRESH = 103;
	//网络不可用.
	public final static int MSG_ERR_NET = 104;
  	//服务器不能连接.
	public final static int MSG_ERR_SERVER = 105;
	//未知错误.
	public final static int MSG_ERR_UNKNOW = 106;
  	//无数据.
	public final static int MSG_ERR_NODATA = 107;
		
	//列表画面每页显示条数.
	public final static int LIST_MAX_COUNT = 15;
	//列表画面最多显示页数.
	public final static int LIST_MAX_PAGE = 3;
	
	/**
	 * 服务器地址等设置是否完整.
	 * @return
	 */
	public static boolean sysIsReady() {
		if(MemConf.AppServerInfoId != null && 
			MemConf.AppServerInfoId.length() > 0){
			return true;
		}
		
		return false;
	}
	
	/**
	 * 获取SD卡上存储图片的目录.
	 * @return
	 */
	public static String getSdImgDir() {
		return (SdDir + SdAppDir + File.separator + SdImgDir + File.separator);
	}
	
	/**
	 * 获取SD卡上临时目录.
	 * @return
	 */
	public static String getSdTmpDir() {
		return (SdDir + SdAppDir + File.separator + SdTmpDir + File.separator);
	}
	
	/**
	 * 获取文件服务器的网址.
	 * @return
	 */
	public static String getFileServer() {
		return ("HTTP://" + MemConf.FileServerIp + ":" + MemConf.FileServerPort + "/");
	}
	
	/**
	 * 设置用户状态，参考接口文档.
	 * @param strUserSta
	 * @return
	 */
	public static void setUserSta(String strUserSta) {
		//在线
		if("00".equals(strUserSta)){
			MemConf.UserSta = USER_STA_ONLINE;
		}
		//01 在别处登录
		//02 离线
		else{
			MemConf.UserSta = USER_STA_OFFLINE;
		}
	}
	
	/**
	 * 是否已经登陆.
	 * @return
	 */
	public static boolean isLogin() {
		
		if(MemConf.CarNo.length() > 0 &&
			MemConf.Password.length() > 0 &&
			MemConf.UserSta == USER_STA_ONLINE){
			return true;
		}else{
			return false;
		}
	}
	
	/**
	 * 注销.
	 * @return
	 */
	public static void userLogout() {
		MemConf.UserSta = USER_STA_OFFLINE;
		MemConf.Password = "";
		MemConf.saveMemConf();
	}
	
	/**
	 * 根据当前用户权限获取附加功能ID图片对.
	 * @return
	 */
	public static String getMenuAppIdImgs() {
		if(!isLogin()){//非登录状态.
			return MemConf.MenuAppAnyoneIdImgs;
		} else {//登录状态.
			return MemConf.MenuAppLoginIdImgs;
		}
	}
	
	/**
	 * 根据当前用户权限设置附加功能ID图片对.
	 * @return
	 */
	public static void setMenuAppIdImgs(String strIdImgs) {
		if(!isLogin()){//非登录状态.
			MemConf.MenuAppAnyoneIdImgs = strIdImgs;
		} else {//登录状态.
			MemConf.MenuAppLoginIdImgs = strIdImgs;
		}
		MemConf.saveMemConf();
	}
}
